Service providers typically provide numerous voice and data services to subscribers. Examples of voice services are voice calls, call forwarding, call waiting, etc. Examples of data services are streaming audio, streaming video, Voice over IP (VoIP), online gaming, and Internet Protocol Television (IP-TV). The data services are managed by a packet core network, which interfaces the end user with external packet data networks (PDN), such as the internet. Some examples of packet core networks are a General Packet Radio Service (GPRS) core network, an Evolved Packet Core (EPC) network, etc. An end user uses a mobile device, such as a cell phone, a personal data assistant, a smart phone, etc., to connect with a Radio Access Network (RAN). The RAN may be a packet-based network that provides IP connectivity, which is also referred to as an IP Connectivity Access Network (CAN). The RAN in turn connects to the packet core network in order to provide the end user with access to the data services.
When the mobile device initiates a data session (e.g., an IP-CAN session), the session request from the mobile device includes a description of the requested data service (e.g., online gaming, IP-TV, etc). The packet core network authenticates the mobile device and determines which data services the mobile device is authorized to receive. If the requested service is authorized, then the packet core network reserves a bearer path (e.g., an IP CAN bearer) of a defined capacity, delay, and bit error rate over a selected PDN. A flow of packets may then begin for the service, which is referred to as a service data flow over the PDN.
The service providers typically implement Policy and Charging Control (PCC) within their networks. Policy control refers to the process of controlling the bearer path for service data flows. For example, policy control includes bearer establishment, Quality of Service (QoS) control, and gating control (e.g., blocking or allowing packets to pass). Charging control refers to the process of associating packets of a session to a charging key or identifier, and applying online charging and/or offline charging, as appropriate. The service providers define PCC rules that may be used for data services that are requested by end users.
The 3rd Generation Partnership Project (3GPP or 3GPP2) has defined a PCC architecture for packet core networks. One example of a PCC architecture is described in 3GPP TS 23.203 (Release 9). The PCC architecture suggested by the 3GPP includes a Policy and Charging Rules Function (PCRF), a PDN gateway comprising a Policy and Charging Enforcement Function (PCEF), an application function (AF), a Bearer Binding and Event Reporting Function (BBERF), a Home Subscriber Server (HSS)/Subscription Profile Repository (SPR), an Online Charging System (OCS), and an Offline Charging System (OFCS). As a brief description of some of the elements of the PCC architecture, the PCRF makes policy control decisions and flow-based charging control decisions to select which PCC rules to implement for service data flows. The PCEF in the gateway provides service data flow detection, user plane traffic handling, QoS handling, service data flow measurement, and online/offline charging interactions. The HSS/SPR stores subscriber data and subscription related information for end users, such as in subscriber profiles.